import request from '../../router/axios'

export function startFlow(router = '/admin', data) { // 开始流程
  return request({
    url: router + '/wf/instance/start',
    method: 'post',
    data
  })
}

export function getUserInfo(params) { // 根据代理类型和ids获取对应用户信息
  return request({
    url: '/admin/wfInstance/userInfo',
    method: 'get',
    params
  })
}

export function getStartByLogin(params) { // 获取当前登录用户发起的流程
  return request({
    url: '/admin/wfInstance/startByLogin',
    method: 'get',
    params
  })
}

export function getBasicInfo(params) { // 根据实例id获取流程实例基础信息
  return request({
    url: '/admin/wfInstance/basic/info',
    method: 'get',
    params
  })
}

export function getInstanceNode(instanceId) { // 根据流程实例id获取流程图信息
  return request({
    url: '/admin/wfInstance/node',
    method: 'get',
    params: {
      instanceId
    }
  })
}

export function getInstanceNow(instanceId) { //获取执行到的节点id
  return request({
    url: '/admin/wfInstance/now',
    method: 'get',
    params: {
      instanceId
    }
  })
}

export function getInstanceInfo(nodeId) { // 根据节点id获取表单信息和意见
  return request({
    url: '/admin/wfInstance/opinion/info',
    method: 'get',
    params: {
      nodeId
    }
  })
}

export function getTaskByLogin(params) { //获取当前登录用户为审批人的节点
  return request({
    url: '/admin/wfInstance/myTask',
    method: 'get',
    params
  })
}

export function getDecide(nodeId) { //获取当前节点的所有决策
  return request({
    url: '/admin/wfInstance/getDecide',
    method: 'get',
    params: {
      nodeId
    }
  })
}

export function approve(data) { // 审批流程
  return request({
    url: '/admin/wfInstance/approve',
    method: 'post',
    data
  })
}

export function updateFlow(data) { // 更新流程图
  return request({
    url: '/admin/wfInstance/node',
    method: 'put',
    data
  })
}

export function getNodeUser(params) { // 获取当前节点所有候选人
  return request({
    url: '/admin/wfInstance/getNodeUser',
    method: 'get',
    params
  })
}

export function updateNodeUser(params) { // 转移当前节点审批用户
  return request({
    url: '/admin/wfInstance/getNodeUser',
    method: 'put',
    params
  })
}

export const approveBatch = (router = '/admin', data) => request({
  url: router + '/wf/instance/approve/batch',
  method: 'post',
  data
})
